"""
括号混合存在的情况
"""
# 导入栈包
from ADT import Stack


def match(a, b):
    opens = '{[('
    closes = '}])'
    return opens.index(a) == closes.index(b)


def par_check(s):
    # 创建一个空栈
    stack = Stack()

    for i in s:
        if i in '({[':
            # 如果是左括号，入栈
            stack.push(i)
        else:
            # 如果是右括号，则出栈一个左括号，并检测他们俩是不是一对
            if stack.isEmpty():
                # 如果此时栈已空，则直接返回False，因为已经匹配不了了
                return False
            # 不为空才出栈
            if not match(stack.pop(), i):
                return False

    return stack.isEmpty()


s = input()

print(par_check(s))
